package org.example;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class IO_Demo3 {
    public static void main(String[] args) throws IOException {
        //字节流
        //开始时刻
        long start = System.currentTimeMillis();
        //文件拷贝 将文件1中数据拷贝到文件2中
        //创建文件读取对象 将文件数据读到程序中 一读
        FileInputStream fis=new FileInputStream("文件路径1");
        //创建文件写入对象 将程序中的数据写到文件中 一写
        FileOutputStream fos=new FileOutputStream("文件路径2");
        int len;
        //创建数组，用于读取多个数据
        byte[] by=new byte[1024*1024*5];
        while((len=fis.read(by))!=-1){
            fos.write(by,0,len);
        }
        //释放资源 先开的后关
        fos.close();
        fis.close();

        //结束时间
        long end=System.currentTimeMillis();
        //统计拷贝时间
        long time=end-start;
        System.out.println(time);


        //Unicode字符集的UTF-8编码格式
        //一个英文占一个字节，二进制第一位是0，转成十进制是正数
        //一个中文占三个字节，二进制第一位是1，转成十进制是负数

        //ASCII字符集中，一个英文占一个字节
        //简体中文版Windows,默认使用GBK字符集 一个中文占两个字节
        //GBK字符集完美兼容ASCLL字符集
    }
}
